package controllers;

import interfaces.IAndamento;
import interfaces.IChamada;

import java.io.Serializable;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.SessionScoped;


import beans.Andamento;
import beans.Chamada;

@ManagedBean(name="andamentoController")
@SessionScoped
public class AndamentoController implements Serializable{

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private Andamento andamento = new Andamento();
	private List<Andamento> andamentos = new ArrayList<Andamento>();
	@EJB
	private IAndamento andamentoEJB;	
	@EJB
	private IChamada chamadaEJB;
	private Chamada chamada = new Chamada();
	@ManagedProperty(value="#{chamadaController}")
	private ChamadaController chamadaController;
	
	
	public void chamadaById() throws InstantiationException, IllegalAccessException{
		
		setAndamentos(this.chamadaController.getChamada().getAndamentoList());
				
	}
	
		
	public void cadastrarAndamento(){
		DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
		Date date = new Date();
		String data = dateFormat.format(date);
		andamento.setData(data);
		
		
		
		//andamentos.addAll(this.chamadaController.getChamada().getAndamentoList());
	//	this.andamentos.add(andamento);
		this.chamadaController.getChamada().setAndamentoList(andamento);
		
		this.chamadaEJB.update(chamadaController.getChamada());
		
		System.out.println(this.chamadaController.getChamada().getIdchamada());
		System.out.println(this.chamadaController.getChamada().getDescricao());
		
		
		//chamadaEJB.update(chamada);
		this.andamento = new Andamento();
		
	}


	//getters and setters
	public Andamento getAndamento() {
		return andamento;
	}


	public void setAndamento(Andamento andamento) {
		this.andamento = andamento;
	}


	public List<Andamento> getAndamentos() {
		return andamentos;
	}


	public void setAndamentos(List<Andamento> andamentos) {
		this.andamentos = andamentos;
	}


	public IAndamento getAndamentoEJB() {
		return andamentoEJB;
	}


	public void setAndamentoEJB(IAndamento andamentoEJB) {
		this.andamentoEJB = andamentoEJB;
	}


	public IChamada getChamadaEJB() {
		return chamadaEJB;
	}


	public void setChamadaEJB(IChamada chamadaEJB) {
		this.chamadaEJB = chamadaEJB;
	}


	public Chamada getChamada() {
		return chamada;
	}


	public void setChamada(Chamada chamada) {
		this.chamada = chamada;
	}


	public void setChamadaController(ChamadaController chamadaController) {
		this.chamadaController = chamadaController;
	}

	
}
